home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 008 / banner.arc / BANNER.BAS (.txt) next >
Encoding:
GW-BASIC  |  1984-04-24  |  1.8 KB  |  49 lines

  1. 10  REM ----------------------- BANNER PROGRAM ---------------------------------
  2. 20  REM ------------ free software , by Barry Roth, revised 8/08/83 ------------
  3. 30  CLS:LOCATE ,,1:DEFINT A-Z:DIM P(8,8)
  4. 40  PRINT "                             BANNER PROGRAM"
  5. 50  PRINT "Wilmington, DE - PC Professional Users Group  - revised 08/08/83 "
  6. 60  PRINT "a banner program using ROM dot patterns for the first 128 ASCII characters"
  7. 70  PRINT:PRINT "enter the character to be used in printing the banner (for example, 'X')"
  8. 80  PRINT "or press return to use the entered character (i.e. g will be formed with 'g') ";
  9. 90  A$=INKEY$:IF A$="" THEN GOTO 90
  10. 100  PRINT A$:PRINT:PRINT "enter the banner scale (1 for 24 characters wide, 2 for 48, or 3 for 72) ";
  11. 110  B$=INKEY$:IF B$="" THEN GOTO 110
  12. 120  D=INT(VAL(B$)):IF D<1 OR D>3 THEN GOTO 100
  13. 130  PRINT D:PRINT:PRINT "get your printer ready and then press any key to start ";
  14. 140  B$=INKEY$:IF B$="" THEN GOTO 140
  15. 150  PRINT:PRINT
  16. 160  PRINT "begin typing your banner (press return at any time to end this program)"
  17. 170  PRINT "have patience, the printer will take time to print each character"
  18. 180  PRINT
  19. 190  DEF SEG=&HF000
  20. 200  N$=INKEY$:IF N$="" THEN GOTO 200
  21. 210  IF ASC(N$)=13 THEN GOTO 480
  22. 220  PRINT N$;
  23. 230  IF ASC(A$)=13 THEN C$=N$ ELSE C$=A$
  24. 240  IF D=1 THEN AA$=C$+C$+C$
  25. 250  IF D=2 THEN AA$=C$+C$+C$+C$+C$+C$
  26. 260  IF D=3 THEN AA$=C$+C$+C$+C$+C$+C$+C$+C$+C$
  27. 270  AN=&HFA6E+8*ASC(N$)-1
  28. 280  FOR I=1 TO 8     
  29. 290  N=PEEK(AN+I)
  30. 300  IF N>=128 THEN N=N-128:P(I,1)=1 ELSE P(I,1)=0
  31. 310  IF N>= 64 THEN N=N- 64:P(I,2)=1 ELSE P(I,2)=0
  32. 320  IF N>= 32 THEN N=N- 32:P(I,3)=1 ELSE P(I,3)=0
  33. 330  IF N>= 16 THEN N=N- 16:P(I,4)=1 ELSE P(I,4)=0
  34. 340  IF N>=  8 THEN N=N-  8:P(I,5)=1 ELSE P(I,5)=0
  35. 350  IF N>=  4 THEN N=N-  4:P(I,6)=1 ELSE P(I,6)=0
  36. 360  IF N>=  2 THEN N=N-  2:P(I,7)=1 ELSE P(I,7)=0
  37. 370  IF N>=  1 THEN         P(I,8)=1 ELSE P(I,8)=0
  38. 380  NEXT I
  39. 390  FOR II=1 TO 8
  40. 400  FOR DD=1 TO D
  41. 410  LPRINT SPACE$((3-D)*12);
  42. 420  FOR III=8 TO 1 STEP -1
  43. 430  IF P(III,II)>0 THEN LPRINT AA$; ELSE LPRINT SPACE$(3*D);
  44. 440  NEXT III
  45. 450  LPRINT:NEXT DD
  46. 460  NEXT II
  47. 470  LPRINT:GOTO 200
  48. 480  PRINT:PRINT"end of BANNER PROGRAM":PRINT:END
  49.